package com.bluemson.service;

import com.bluemson.entity.Article;
import com.bluemson.entity.Comment;
import com.bluemson.entity.Plate;
import com.bluemson.entity.User;

import java.util.List;

public interface GetService {
    /**
     * 获得所有板块
     * @return
     */
    List<Plate> getPlate();

    /**
     * 所有帖子
     * @return
     */
    List<Article> getArticle();

    /**
     * 某用户写的帖子
     * @param username
     * @return
     */
    List<Article> getUserArticle(String username);

    /**
     * id为指定值的帖子
     * @param id
     * @return
     */
    Article getIdArticle(int id);

    /**
     * 某板块帖子
     * @param plate
     * @return
     */
    List<Article> getPlateArticle(String plate);

    /**
     * 板块帖子热门前十
     * @param plate
     * @return
     */
    List<Article> getPlateHot(String plate);

    /**
     * 所有用户
     * @return
     */
    List<User> getAllUser();

    /**
     * 某id用户所有信息
     * @param id
     * @return
     */
    User getInformation(int id);

    /**
     * 某帖子评论
     * @param id
     * @return
     */
    List<Comment> getComment(int id);

    /**
     * 某评论的回复
     * @param id
     * @return
     */
    List<Comment> getReply(int id);

    /**
     * 获得某板块版主名字
     * @param name
     * @return
     */
    List<String> getHost(String name);

    /**
     * 获得某板块版主id
     * @param name
     * @return
     */
    int[] getHostId(String name);

    /**
     * 获得某用户管理的板块
     * @param username
     * @return
     */
    List<Plate> getHostPlate(String username);

    /**
     * 获得用户关注的板块
     * @param username
     * @return
     */
    List<String> getConcernedPlate(String username);

    /**
     * 模糊查询用户、帖子、板块
     * @param username
     * @return
     */
    List<User> searchUser(String username);
    List<Article> searchArticle(String article);
    Plate searchPlate(String name);

    /**
     * 热门帖子
     * @return
     */
    List<Article> getHotArticle();
}
